package com.hsy.crm.web.mapper;

import com.hsy.crm.web.config.CrmMapper;
import com.hsy.crm.web.domain.entity.Role;
import com.hsy.crm.web.domain.entity.RoleMenu;
import com.hsy.crm.web.domain.po.role.RoleListPo;
import com.hsy.crm.web.domain.po.role.RolePagePo;
import com.hsy.crm.web.domain.vo.role.RoleAuthorityVo;
import com.hsy.crm.web.domain.vo.role.RoleListVo;
import com.hsy.crm.web.domain.vo.role.RolePageVo;

import java.util.List;

public interface RoleMapper extends CrmMapper<Role> {

    List<RolePagePo> page(RolePageVo rolePageVo);

    List<RolePagePo> userRolePage(RolePageVo rolePageVo);

    int authority(List<RoleMenu> roleMenus);

    List<RoleListPo> findMenus(RoleListVo roleListVo);

    List<Long> findUserRole(RoleAuthorityVo authorityVo);

    Long hasMenu(RoleMenu roleMenu);

    Long hasUser(RoleMenu roleMenu);

}
